package com.niguang.work.api.entity;

import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.enums.FieldFill;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.annotations.TableLogic;
import java.io.Serializable;

/**
 * <p>
 * 'work.v_personSite' is not BASE TABLE
 * </p>
 *
 * @author chenliu
 * @since 2018-07-23
 */
@TableName("work_clock")
public class Clock extends Model<Clock> {

    private static final long serialVersionUID = 1L;

    /**
     * 打卡id
     */
    private Long id;
    private Long siteId;
    private Long subId;
    private Long userId;
    /**
     * 打卡类型,1-上班卡,2-下班卡
     */
    private Integer clockType;
    /**
     * 上下班打卡时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;
    /**
     * 系统创建时间
     */
    private Date sysCreateTime;
    /**
     * 删除标识
     */
    @TableLogic
    private Integer delFlag;
    /**
     * 工种 ID
     */
    private Long workTypeId;
    /**
     * 有效打卡 0.无效,1.有效
     */
    private Integer validFlag;
    /**
     * 工时是否确认 0-未确认 1-已确认 2-已修改
     */
    private Integer confirmFlag;
    /**
     * 推送标识 0--未推送 1--已推送
     */
    private Integer pushFlag;
    /**
     * 设备ID
     */
    private String macId;
    /**
     * 班组ID
     */
    private Long teamId;
    /**
     * 1--卡片打卡，2--人脸打卡 3--二维码打卡 4-补签打卡
     */
    private Integer checkFlag;
    /**
     * 备注
     */
    private String remark;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getSiteId() {
        return siteId;
    }

    public void setSiteId(Long siteId) {
        this.siteId = siteId;
    }

    public Long getSubId() {
        return subId;
    }

    public void setSubId(Long subId) {
        this.subId = subId;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Integer getClockType() {
        return clockType;
    }

    public void setClockType(Integer clockType) {
        this.clockType = clockType;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getSysCreateTime() {
        return sysCreateTime;
    }

    public void setSysCreateTime(Date sysCreateTime) {
        this.sysCreateTime = sysCreateTime;
    }

    public Integer getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(Integer delFlag) {
        this.delFlag = delFlag;
    }

    public Long getWorkTypeId() {
        return workTypeId;
    }

    public void setWorkTypeId(Long workTypeId) {
        this.workTypeId = workTypeId;
    }

    public Integer getValidFlag() {
        return validFlag;
    }

    public void setValidFlag(Integer validFlag) {
        this.validFlag = validFlag;
    }

    public Integer getConfirmFlag() {
        return confirmFlag;
    }

    public void setConfirmFlag(Integer confirmFlag) {
        this.confirmFlag = confirmFlag;
    }

    public Integer getPushFlag() {
        return pushFlag;
    }

    public void setPushFlag(Integer pushFlag) {
        this.pushFlag = pushFlag;
    }

    public String getMacId() {
        return macId;
    }

    public void setMacId(String macId) {
        this.macId = macId;
    }

    public Long getTeamId() {
        return teamId;
    }

    public void setTeamId(Long teamId) {
        this.teamId = teamId;
    }

    public Integer getCheckFlag() {
        return checkFlag;
    }

    public void setCheckFlag(Integer checkFlag) {
        this.checkFlag = checkFlag;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public static final String ID = "id";

    public static final String SITE_ID = "site_id";

    public static final String SUB_ID = "sub_id";

    public static final String USER_ID = "user_id";

    public static final String CLOCK_TYPE = "clock_type";

    public static final String CREATE_TIME = "create_time";

    public static final String SYS_CREATE_TIME = "sys_create_time";

    public static final String DEL_FLAG = "del_flag";

    public static final String WORK_TYPE_ID = "work_type_id";

    public static final String VALID_FLAG = "valid_flag";

    public static final String CONFIRM_FLAG = "confirm_flag";

    public static final String PUSH_FLAG = "push_flag";

    public static final String MAC_ID = "mac_id";

    public static final String TEAM_ID = "team_id";

    public static final String CHECK_FLAG = "check_flag";

    public static final String REMARK = "remark";

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "Clock{" +
        "id=" + id +
        ", siteId=" + siteId +
        ", subId=" + subId +
        ", userId=" + userId +
        ", clockType=" + clockType +
        ", createTime=" + createTime +
        ", sysCreateTime=" + sysCreateTime +
        ", delFlag=" + delFlag +
        ", workTypeId=" + workTypeId +
        ", validFlag=" + validFlag +
        ", confirmFlag=" + confirmFlag +
        ", pushFlag=" + pushFlag +
        ", macId=" + macId +
        ", teamId=" + teamId +
        ", checkFlag=" + checkFlag +
        ", remark=" + remark +
        "}";
    }
}
